/**

This file is part of MaCI/GIMnet.

MaCI/GIMnet is free software: you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation, either version 3 of the License, or 
(at your option) any later version.

MaCI/GIMnet is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with GIMnet. (See COPYING.LESSER) If not, see 
<http://www.gnu.org/licenses/>.

**/
/**
*  \class	TAngle
*  \author 	Jari Saarinen
*  \date 	Fri Mar 10 12:25:17 2006

*  \version: 0.1  
*
* Implements a Class for angle, unit always in radians! 
* 
*/

#ifndef T_ANGLE_H
#define T_ANGLE_H

#include "macros.h"

class TAngle
{
private: 
	float a; // The angle value
	
public:
	TAngle();
	TAngle(float a);
	~TAngle();

	float getValue();
	float getDegValue();
	void setValue(float a);
	void setDegreesValue(float deg);
	float to2pi(float val); // Converts and returns angle between 0...2*PI
	void  to2pi();			// Converts this 


	//+-/
	TAngle operator +(TAngle x) const;
	TAngle operator -( TAngle x) const;
	
    TAngle operator +(float y) const;
	TAngle operator -(float y) const ;


	TAngle& operator =(const float &a);
	TAngle& operator =(const double &a);

};          


#endif


